/*=================================================================================
 * Class TimeAdv:	The time advance scheme:
 *					1st-order Euler Explicit Scheme
 *					3st-order TVD Runge-Kutta Scheme
 *=================================================================================*/

#ifndef TIME
#define TIME

#include "Array.h"


class TimeAdv
{
public:

	/* Constructor */
	TimeAdv() = default;

	/* 1st-order Euler Explicit Scheme */
	void EE(int, double, Array<double>, Array<double>, int, Array<double>, Array<double>, Array<double> &);

	/* 3st-order TVD Runge-Kutta Scheme */
	void TVD_RK3(int, double, Array<double>, Array<double>, int, Array<double>, Array<double>, Array<double> &);

	/* Destructor */
	~TimeAdv() { ; };
};

#endif
